#ifndef LIBRARY_H
#define LIBRARY_H
#include <core/string.h>
namespace Core
{
    class ILibrary
    {
    public:
        bool  load(const String& s);
        void* resolve(const char* functionName) const;
    };

    class Library
    {
        std::auto_ptr<ILibrary> m_impl;
        String m_filename;
    public:
        Library(String& fileName);
        ~Library();
        bool isEnginePlugin() const;//return true if library is for this engine
        bool  load();
        void* resolve(const char* functionName) const;

        const String& getFileName() const;
    };
}

#endif